<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Home extends MY_Controller {

	public function index(){
		if($this->isEmpresaLoggedIn()){
			$this->load->model('negocio/empresa_model', 'Empresa_model');

			$user_info 		  = $this->getLoggedUser();
			$cod_empresa_auto = $user_info['cod'];

			$this->setViewData('estatisticas', $this->Empresa_model->getStatistics($cod_empresa_auto));
			$this->setViewData('main_content', 'parasuaempresa/inicio');
			$this->load->view('_shared/template', $this->viewData);
		} else {
			redirect('parasuaempresa/home/acessar');
		}
	}

	public function acessar(){
		if($this->isEmpresaLoggedIn()){
			redirect('parasuaempresa');
		}else{
			$this->addScript(base_url('assets/js/jquery.validate.min.js'));
			$this->addScript(base_url('assets/js/shared/validation.js'));
			$this->addScript(base_url('assets/js/parasuaempresa/acessar.js'));

			$this->setViewData('main_content', 'parasuaempresa/acessar');
			$this->load->view('_shared/template', $this->viewData);
		}
	}

	public function login(){
		if($this->isEmpresaLoggedIn()){
			redirect('parasuaempresa');
		}else{
			$this->load->model('negocio/empresa_model', 'Empresa_model');
			$formMessage = array();

			$datetime	= $this->input->post('datetime');
			$login 		= $this->input->post('login');
			$senha 		= $this->input->post('senha');

			if($datetime){
				$validacao = $this->Empresa_model->login($login, $senha);

				if(!$validacao[0]){
					$formMessage = array(1, $validacao[1]);
				}else{
					$this->setLoggedUser($login, $validacao[2], 1, $validacao[1]);
					redirect('parasuaempresa');
				}
			}

			$this->setViewData('formMessage', $formMessage);
			$this->acessar();
		}
	}

	public function esqueci_minha_senha(){
		$email_empresa = $this->input->post('email');

		if($email_empresa){
			$this->load->model('negocio/empresa_model', 'Empresa_model');
			$this->Empresa_model->recuperarSenha($email_empresa);

			$formMessage = array(3, 'Um e-mail com instruções foi enviado para ' . $email_empresa);
			$this->setViewData('formMessage', $formMessage);
		}

		$this->setViewData('main_content', 'parasuaempresa/esqueci_minha_senha');
		$this->load->view('_shared/template', $this->viewData);
	}

	public function sair(){
		$this->logoff();
		redirect('parasuaempresa');
	}

	public function cadastro(){
		// tipo(1=erro,2=alerta,3=sucesso), mensagem
		$formMessage = array();

		// Carregamento dos models utilizados no cadastro
		$this->load->model('negocio/estado_model', 'Estado_model');
		$this->load->model('negocio/cidade_model', 'Cidade_model');
		$this->load->model('negocio/segmento_model', 'Segmento_model');
		$this->load->model('negocio/empresa_model', 'Empresa_model');

		// Recebimento das variáveis do formulário
		$datetime           = $this->input->post('datetime');
		$cnpj               = $this->input->post('cnpj');
		$insc_estadual      = $this->input->post('insc_estadual');
		$razao_social       = $this->input->post('razao_social');
		$nome_fantasia      = $this->input->post('nome_fantasia');
		$telefone           = $this->input->post('telefone');
		$celular            = $this->input->post('celular');
		$responsavel        = $this->input->post('responsavel');
		$endereco           = $this->input->post('endereco');
		$numero             = $this->input->post('numero');
		$bairro             = $this->input->post('bairro');
		$cep                = $this->input->post('cep');
		$estado             = $this->input->post('estado');
		$cidade             = $this->input->post('cidade');
		$email              = $this->input->post('email');
		$confirmar_email    = $this->input->post('confirmar_email');
		$senha				= $this->input->post('senha');
		$confirmar_senha	= $this->input->post('confirmar_senha');
		$segmento           = $this->input->post('segmento');
		$site 	           	= $this->input->post('site');

		$formData = array(
			'cnpj'          => $this->input->post('cnpj'),
			'insc_estadual' => $this->input->post('insc_estadual'),
			'razao_social'  => $this->input->post('razao_social'),
			'nome_fantasia' => $this->input->post('nome_fantasia'),
			'telefone'      => $this->input->post('telefone'),
			'celular'       => $this->input->post('celular'),
			'responsavel'   => $this->input->post('responsavel'),
			'endereco'      => $this->input->post('endereco'),
			'numero'        => $this->input->post('numero'),
			'bairro'        => $this->input->post('bairro'),
			'cep'           => $this->input->post('cep'),
			'estado'        => $this->input->post('estado'),
			'cidade'        => $this->input->post('cidade'),
			'email'         => $this->input->post('email'),
			'site'          => $this->input->post('site')
			);

		if($email || $email != $confirmar_email){
			//validação email
		}

		if($senha || $senha != $confirmar_senha){
			//validação senha
		}

		//Cadastro da empresa
		if($datetime && $cnpj && $insc_estadual && $email && $senha){
			// Criação do objeto da empresa
			$empresa = new Empresa();
			$empresa->setCNPJ($cnpj);
			$empresa->setIE($insc_estadual);
			$empresa->setRazaoSocial($razao_social);
			$empresa->setNomeFantasia($nome_fantasia);
			$empresa->setTelefone($telefone);
			$empresa->setCelular($celular);
			$empresa->setAdministrador($responsavel);
			$empresa->setEndereco($endereco);
			$empresa->setNumero($numero);
			$empresa->setBairro($bairro);
			$empresa->setCEP($cep);
			$empresa->setCodCidade($cidade);
			$empresa->setEmail($email);
			$empresa->setSenha($senha);
			$empresa->setSite($site);
			$empresa->setSegmentoPrincipal(new Segmento($segmento));
			
			$validacao = $empresa->gravar();

			if(!$validacao[0]){
				$formMessage = array(1, $validacao[1]);
			}else{
				$formMessage = array(3, 'Cadastro efetuado com sucesso. Por favor, acesse seu e-mail para confirmar o cadastro.');

				foreach ($formData as $chave) {
					$formData[$chave] = '';
				}
			}
		}
		
		//
		// Adiciona Scripts não padrão no carregamento da página
		//
		
		// plugin validação + extras para validar CPF/CNPJ e mensagens padrão
		$this->addScript(base_url('assets/js/jquery.validate.min.js'));
		$this->addScript(base_url('assets/js/shared/validation.js'));
		// plugin p/ colocar máscara nos campos
		$this->addScript(base_url('assets/js/jquery.maskedinput.min.js'));
		// script p/ a página
		$this->addScript(base_url('assets/js/parasuaempresa/cadastro.js'));

		// Dados que serão enviados para a view
		$this->setViewData('main_content', 'parasuaempresa/cadastro');
		$this->setViewData('estados', $this->Estado_model->getAll());
		$this->setViewData('cidades', $this->Cidade_model->getAll());
		$this->setViewData('segmentos', $this->Segmento_model->getAll());
		$this->setViewData('formMessage', $formMessage);
		$this->setViewData('formData', $formData);

		// Carrega a view
		$this->load->view('_shared/template', $this->viewData);
	}
}
